Page({
  data: {
    keyword: '',
    historyList: [],
    hotList: [],
    searchResult: [],
    showResult: false,
    loading: false,
    isEmpty: false
  },

  onLoad: function (options) {
    // 从本地存储获取搜索历史
    const historyList = wx.getStorageSync('searchHistory') || [];
    this.setData({
      historyList
    });
    
    // 获取热门搜索词
    this.getHotSearchWords();
    
    // 如果从其他页面带有关键词参数进入，则自动搜索
    if (options.keyword) {
      this.setData({
        keyword: options.keyword
      });
      this.doSearch();
    }
  },

  // 获取热门搜索词
  getHotSearchWords: function() {
    const app = getApp();
    const api = app.globalData.api;
    
    // 调用API获取热门搜索词，如果API不支持则使用默认值
    // 注意：如果后端没有提供热门搜索词API，可以替换为其他方式获取
    api.food.getList({ hot: true, limit: 6 })
      .then(res => {
        if (res.results && res.results.length > 0) {
          // 从热门食品中提取名称作为热门搜索词
          const hotList = res.results.map(item => item.name);
          this.setData({ hotList });
        } else {
          // 使用默认热门搜索词
          this.setData({
            hotList: ['巧克力蛋糕', '奶茶', '牛排', '沙拉', '披萨', '汉堡']
          });
        }
      })
      .catch(err => {
        console.error('获取热门搜索词失败:', err);
        // 出错时使用默认热门搜索词
        this.setData({
          hotList: ['巧克力蛋糕', '奶茶', '牛排', '沙拉', '披萨', '汉堡']
        });
      });
  },

  // 输入框内容变化
  onInputChange: function (e) {
    this.setData({
      keyword: e.detail.value
    });
  },

  // 清空输入框
  clearInput: function () {
    this.setData({
      keyword: '',
      showResult: false
    });
  },

  // 执行搜索
  doSearch: function () {
    const keyword = this.data.keyword.trim();
    if (!keyword) {
      wx.showToast({
        title: '请输入搜索关键词',
        icon: 'none'
      });
      return;
    }

    // 保存到搜索历史
    this.saveHistory(keyword);

    // 显示加载状态
    this.setData({
      loading: true,
      showResult: true,
      isEmpty: false
    });

    // 获取API实例
    const app = getApp();
    const api = app.globalData.api;
    
    // 调用真实API搜索食品
    api.food.search(keyword)
      .then(res => {
        console.log('搜索结果:', res);
        
        // 处理结果数据，确保数据字段与前端显示一致
        const searchResult = (res.results || []).map(item => {
          // 确保图片URL是完整路径
          if (item.image && !item.image.startsWith('http')) {
            item.image = api.getFullImageUrl(item.image);
          }
          
          // 映射API返回的字段到前端所需的格式
          return {
            id: item.id,
            name: item.name,
            price: item.price || item.original_price || 0,
            sales: item.sales_count || item.sales || 0,
            image: item.image || item.image_url || ''
          };
        });
        
        this.setData({
          searchResult: searchResult,
          loading: false,
          isEmpty: searchResult.length === 0
        });
      })
      .catch(err => {
        console.error('搜索失败:', err);
        this.setData({
          loading: false,
          isEmpty: true
        });
        
        wx.showToast({
          title: '搜索失败，请重试',
          icon: 'none'
        });
      });
  },

  // 保存搜索历史
  saveHistory: function (keyword) {
    let historyList = this.data.historyList;
    
    // 如果已存在相同关键词，先移除
    const index = historyList.findIndex(item => item === keyword);
    if (index !== -1) {
      historyList.splice(index, 1);
    }
    
    // 将新关键词添加到开头
    historyList.unshift(keyword);
    
    // 限制历史记录数量为10条
    if (historyList.length > 10) {
      historyList = historyList.slice(0, 10);
    }
    
    // 更新数据和本地存储
    this.setData({
      historyList
    });
    wx.setStorageSync('searchHistory', historyList);
  },

  // 点击历史记录或热门搜索项
  tapSearchItem: function (e) {
    const keyword = e.currentTarget.dataset.keyword;
    this.setData({
      keyword
    });
    this.doSearch();
  },

  // 清空历史记录
  clearHistory: function () {
    wx.showModal({
      title: '提示',
      content: '确定要清空搜索历史吗？',
      success: (res) => {
        if (res.confirm) {
          this.setData({
            historyList: []
          });
          wx.removeStorageSync('searchHistory');
        }
      }
    });
  },

  // 点击搜索结果项，跳转到商品详情
  goToDetail: function (e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/detail/detail?id=${id}`
    });
  }
}); 